package br.unicamp.ic.inf312.arena.util;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.FileHandler;
import java.util.logging.Logger;

public class GravarLogAuditoria {
	private static Logger logger = null;
	private static SimpleDateFormat sdf = null;

	static {
		sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
		logger = Logger.getLogger( GravarLogAuditoria.class.getName() );

		String strFileName = "auditoria­devolucoes­bilhetes%g.log";
		try {
			logger.addHandler( new FileHandler(strFileName, 1000000, 10, true) );
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * Loga informacoes da devolucao de bilhete(s)
	 * 
	 * @param num. protocolo da compra int
	 * @param codigo devolucao int
	 * @param num. bilhetes devolvidos int[]
	 *
	 */
	public static void logging(int numprotocolo, int coddev, int[] numbilhetes) {
		StringBuffer stb = new StringBuffer();
		stb.append("<numprotocolo>" + numprotocolo + "</numprotocolo> ");
		stb.append("<coddev>" + coddev  + "/<coddev> ");

		if (numbilhetes != null) {
			stb.append("<numbilhetes>");
			for (int i = 0; i < numbilhetes.length; i++) {
				stb.append("<numero>" + numbilhetes[i] + "</numero>");
			}
			stb.append("</numbilhetes> ");
		}
		stb.append( "<data-hora>" + sdf.format( new Date() ) + "</data-hora>" );

		System.out.println( stb.toString() );

		logger.severe( stb.toString() );
	}
}